{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-02-21T07:17:11.872646Z",
     "start_time": "2018-02-21T07:17:11.852150Z"
    }
   },
   "source": [
    "<img src='images/title.png' align='center' />\n",
    "<img src=\"images/jupyter_icon.png\"  alt=\"jupyter_icon\" />\n",
    "\n",
    ">版本: 0.0.1 <br>\n",
    ">作者: 李贺元 <br>\n",
    ">邮箱: lhyfst@gmail.com <br>\n",
    ">版权归 李贺元(lhyfst) 和 od-do 组织所有 ,如需转载请与作者联系，不得用于商业用途 <br>\n",
    "\n",
    "\n",
    "---\n",
    "\n",
    "### 目录\n",
    "\n",
    "- [1. **下载Jupyter**](1-install.ipynb)\n",
    "- [2. **远程登录**](2-remote-login.ipynb)\n",
    "- [3. **添加Nbextensions插件**](3-nbextensions.ipynb)\n",
    "- [4. **Jupyter基本使用**](4-jupyter-basic.ipynb)\n",
    "- [5. **魔法命令**](5-magic-command.ipynb)\n",
    "- [6. **Tips & Tricks**](6-tips-and-tricks.ipynb)\n",
    "- [7. **未来计划内容**](7-future.ipynb)\n",
    "\n",
    "---\n",
    "\n",
    "## 使用Jupyter，打开新世界  \n",
    "\n",
    "### 什么是Jupyter？\n",
    "\n",
    "jupyter是一款以浏览器为基础的在线交互式代码编辑器。其轻便、强交互、可展示的特性和活跃的社区给人以无限的遐想。<br>\n",
    "本篇教程即通过jupyter notebook 编写。\n",
    "\n",
    "### 为什么使用jupyter？\n",
    "\n",
    "**Jupyter在一定程度上反映了数据科学生态圈的现在，预测了数据科学生态圈的未来。**\n",
    "\n",
    "jupyter的以下优点让频繁与数据打交道的你不得不认真思考是否入坑：\n",
    "\n",
    "* **多语言支持**：<br>\n",
    "$\\ jupyter = ju(lia) + pyt(hon) + r $ \n",
    "<br>jupyter 即意味着多语言支持。更妙的是，jupyter可以在同一文件中支持多语言，让你能左手Python右手R地完成工作。\n",
    "\n",
    "* **强交互性**：<br>\n",
    "jupyter让你实时掌控你的数据流。在数据工作者的工作中，有大量的数据探索、数据清洗工作。在同一个.ipynb文件中，所有cell共享变量空间，这意味着你可以写一行代码，运行一下结果，一步一步地完成工作。你甚至可以在多个.ipynb文件间共享变量！这是jupyter的精髓，谁用谁知道:)\n",
    "\n",
    "* **jupyter + 服务器**：<br>\n",
    "jupyter实际上就是一个网络app。搭建自己的jupyter服务器，让它在后台挂起，你便可以随时随地随意地使用服务器强大的资源，你甚至可以在手机上监控并编写你的程序！\n",
    "\n",
    "* **轻量级，强定制**：<br>\n",
    "使用过许多大型的IDE后，我越来越讨厌大而全的IDE，反而喜欢轻巧自由的编辑器。jupyter就是这样一款编辑器。随开随用(开启时间快于大多数网页)；直接关闭也不妨碍在后台运行程序(与服务器结合)。<br>\n",
    "网页的形式时时冲击你的想象。你无法想象富媒体的网页可以让数据可视化、汇报文档变得多么有活力！尤其当你会一些前端知识(html、css、javascript)时！\n",
    "\n",
    "* **魔法**：<br>\n",
    "还有很多tips值得你发掘。<br>\n",
    "这里仅举最常用的：兼容latax、兼容Markdown、兼容40余种编程语言、可以当做命令行直接与服务器交互(快卸载你的Xshell吧！)...\n",
    "\n",
    "\n",
    "当然，作为仍在快速迭代发展的项目，jupyter确实有一些缺点。<br>\n",
    "如强烈依赖网络环境(与服务器结合),有难免的网络延迟(与服务器结合)，有难免的网页渲染时间，代码提示和补全较为弱鸡，偶尔kernel抽筋等等。\n",
    "<br><br>\n",
    "但是瑕不掩瑜，相对jupyter的明显优点，对于这些缺点，我们当然是选择原谅她了！<br>\n",
    "喜不喜欢，不试试怎么能知道呢？<br>\n",
    "<br>\n",
    "Have a try!  https://try.jupyter.org/\n",
    "\n",
    "### 本教程目标\n",
    "\n",
    "* 搭建自己的jupyter服务器(Ubuntu环境)\n",
    "* 学习使用jupyter的基本操作\n",
    "* 学习使用基于jupyter的拓展\n",
    "\n",
    "---\n",
    "### 参考链接\n",
    "\n",
    "jupyter 官网  http://jupyter.org/  <br>\n",
    "jupyter 官网教程  http://jupyter.org/documentation <br>\n",
    "ipython Cookbook  https://github.com/ipython/ipython/wiki/Cookbook%3A-Index <br>\n",
    "jupyter basic  https://jupyter-notebook.readthedocs.io/en/latest/examples/Notebook/Notebook%20Basics.html <br>\n",
    "jupyter kernels  https://github.com/jupyter/jupyter/wiki/Jupyter-kernels <br>\n",
    "ipython tutorial  http://nbviewer.jupyter.org/github/ipython/ipython/blob/4.0.x/examples/IPython%20Kernel/Index.ipynb <br>\n",
    "A gallery of interesting Jupyter Notebooks  https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks <br>\n",
    "nbextensions  http://jupyter-contrib-nbextensions.readthedocs.io/en/latest/index.html <br>\n",
    "装扮你的Jupyter  https://zhuanlan.zhihu.com/p/26739300?group_id=843868091631955968 <br>\n",
    "Jupyter Notebook的27个秘诀，技巧和快捷键  https://www.zybuluo.com/hanxiaoyang/note/534296 <br>\n",
    "\n",
    "---\n",
    "### 感觉有帮助？\n",
    "\n",
    "小额打赏作者<br>\n",
    "\n",
    "<img src='images/payment.jpg' align=\"left\" height=\"300\" width=\"200\"/>\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  },
  "nbTranslate": {
   "displayLangs": [
    "*"
   ],
   "hotkey": "alt-t",
   "langInMainMenu": true,
   "sourceLang": "en",
   "targetLang": "fr",
   "useGoogleTranslate": true
  },
  "toc": {
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": "block",
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
